// packageMy/pages/register/register.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isButtonClicked: false // 新增，用于标记按钮是否已被点击
  },
  /**
   * 注册处理函数
   */
  registerHandler(e) {
    const mobile = e.detail.value.mobile;
    const phoneReg = /^1[3-9]\d{9}$/; // 简单的手机号正则表达式示例，可根据实际需求调整
    if (!phoneReg.test(mobile)) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none'
      });
      return;
    }
    const userPwd = e.detail.value.userPwd;
    const pwdReg = /^[a-zA-Z0-9]{6,16}$/; // 符合6-16位字母、数字组合密码的正则
    if (!pwdReg.test(userPwd)) {
      wx.showToast({
        title: '密码格式不正确，请输入6-16位字母、数字组合密码',
        icon: 'none'
      });
      return;
    }
    const userPwdtrue = e.detail.value.userPwdtrue;
    if (userPwdtrue !== userPwd) {
      wx.showToast({
        title: '两次输入的密码不一致，请重新确认',
        icon: 'none'
      });
      return;
    }
    const nikcName = e.detail.value.nikcName;
    if (nikcName === '') {
      wx.showToast({
        title: '请输入真实姓名',
        icon: 'none'
      });
      return;
    }
    const captcha = e.detail.value.captcha;
    if (captcha === '') {
      wx.showToast({
        title: '请输入验证码',
        icon: 'none'
      });
      return;
    }
    const protocolChecked = e.detail.value.protocol;
    if (!protocolChecked) {
      wx.showToast({
        title: '请同意《社会心理建设注册协议》',
        icon: 'none'
      });
      return;
    }
    const registerData = {
      username: mobile,
      mobile: mobile,
      nickname: nikcName,
      email: '',
      userpwd: userPwd,
      status:2
    }
    if (this.data.isButtonClicked) {
      return; // 如果按钮已经被点击过了，直接返回，不再重复发起请求
    }
    this.setData({
      isButtonClicked: true // 设置按钮为已点击状态
    });
    // 发起注册请求
    wx.request({
      url: 'http://localhost:8081/sfzy/sysUser',
      method: 'POST',
      data: registerData,
      success(res) {
        if (res.data.code == 200) {
          wx.showToast({
            title: '注册及相关操作成功',
            icon: 'success'
          });
          // 可根据需求进行页面跳转等后续操作，比如跳转到登录页或者首页
          wx.navigateTo({
            url: '/packageMy/pages/login/login'
          });
        }else {
          wx.showToast({
            title: resRole.data.message || '设置用户角色失败，请稍后重试',
            icon: 'none'
          });
        }
      }, fail(err) {
        wx.showToast({
          title: '注册网络请求失败，请检查网络',
          icon: 'none'
        });
        this.setData({
          isButtonClicked: false // 重置按钮可点击状态
        });
        wx.removeStorageSync('registerTempData'); // 如果有相关缓存数据需要删除
        getApp().globalData.registerStatus = null; // 如果有全局记录注册状态的变量需要重置
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})